Угнежђено гранање
У задацима који следе користи се угнежђено гранање (наредбе гранања су наведене унутар тела ширих наредби гранања).
Елементи програмског језика
Уколико је потребно извршити гранање на основу неколико међусобно
искључујућих услова, то можемо да урадимо коришћењем кључне
речи elif
, која се у општем случају користи овако:
if uslov1:
naredba1elif uslov2:
naredba2elif uslov3:
naredba3
...else
naredbak
Приликом извршавања ове наредбе проверавају се редом услови
uslov1
, uslov2
итд. све док се не наиђе на
неки услов који је испуњен и чији се блок наредби извршава. Последња
else
ставка се извршава ако ниједан од услова није испуњен.
Тај део је опцион и не мора се навести.
Поменимо једну важну појаву познату као висеће else (енг. dangling else). Уколико имамо угнежђено гранање облика:
if uslov1:
if uslov2:
naredba1else:
naredba2
лако се може погрешити у форматирању и добити нетачан резултат. Када
желимо да се else
ставка веже за прву if
наредбу, писаћемо као што је горе наведено. Међутим, када нам је
потребно да се else
ставка веже за другу if
наредбу, треба писати:
if uslov1:
if uslov2:
naredba1else
naredba2